home *** CD-ROM | disk | FTP | other *** search
/ Revista do CD-ROM 101 / CD-ROM 101.iso / compl / maya5ple / Install_MayaPLE5_English.exe / Maya / Data1.cab / performPolySewEdge.mel < prev    next >
Encoding:
Text File  |  2003-07-17  |  4.6 KB  |  144 lines

  1. // Copyright (C) 1997-2002 Alias|Wavefront,
  2. // a division of Silicon Graphics Limited.
  3. //
  4. // The information in this file is provided for the exclusive use of the
  5. // licensees of Alias|Wavefront.  Such users have the right to use, modify,
  6. // and incorporate this code into other products for purposes authorized
  7. // by the Alias|Wavefront license agreement, without fee.
  8. //
  9. // ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  10. // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  11. // EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  12. // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  13. // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  14. // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  15. // PERFORMANCE OF THIS SOFTWARE.
  16. //
  17. //
  18. //  Alias|Wavefront Script File
  19. //  MODIFY THIS AT YOUR OWN RISK
  20. //
  21. //  Creation Date:  4 April 1997
  22. //
  23. //  Procedure Name:
  24. //      performPolySewEdge
  25. //
  26. //  Description:
  27. //        sew the selected polygon border edges
  28. //         
  29. //  Input Arguments:
  30. //        $option : Whether to set the options to default values.
  31. //  Return Value:
  32. //        command string iff $option==2
  33. //
  34.  
  35. proc setOptionVars (int $forceFactorySettings)
  36. {               
  37.     if ($forceFactorySettings || !`optionVar -exists polySewEdgeMap`)
  38.         optionVar -intValue polySewEdgeMap 1;
  39.     
  40.     if ($forceFactorySettings || !`optionVar -exists polySewEdge`)
  41.         optionVar -floatValue polySewEdge 0.0;
  42.  
  43.     if ($forceFactorySettings || !`optionVar -exists polySewEdgeWorldSpace`)
  44.         optionVar -intValue polySewEdgeWorldSpace 1;
  45. }
  46.  
  47. global proc performPolySewEdgeSetup (string $parent, int $forceFactorySettings)
  48. {
  49.     setOptionVars($forceFactorySettings);
  50.     setParent $parent;
  51.     
  52.     int $iSM = `optionVar -query polySewEdgeMap`;
  53.     checkBoxGrp -edit -value1 $iSM polySewEdgeMap;
  54.     
  55.     float $fval = `optionVar -query polySewEdge`;
  56.     floatSliderGrp -edit -value $fval polySewEdge;
  57.     
  58.     int $iWS = `optionVar -query polySewEdgeWorldSpace`;
  59.     checkBoxGrp -edit -value1 $iWS polySewEdgeWorldSpace;
  60. }
  61.  
  62. global proc performPolySewEdgeCallback (string $parent, int $doIt)
  63. {
  64.     setParent $parent;
  65.     optionVar -intValue polySewEdgeMap
  66.         `checkBoxGrp -query -value1 polySewEdgeMap`;
  67.     optionVar -floatValue polySewEdge 
  68.         `floatSliderGrp -query -value polySewEdge`;
  69.     optionVar -intValue polySewEdgeWorldSpace
  70.         `checkBoxGrp -query -value1 polySewEdgeWorldSpace`;
  71.     if ($doIt) {
  72.         performPolySewEdge 0;
  73.         addToRecentCommandQueue "performPolySewEdge 0" "PolySewEdge";
  74.     }
  75. }
  76.  
  77. proc polySewEdgeOptions ()
  78. {
  79.     string $commandName = "performPolySewEdge";
  80.     string $callback = ($commandName + "Callback");
  81.     string $setup = ($commandName + "Setup");
  82.        
  83.     string $layout = getOptionBox();
  84.     setParent $layout;
  85.     setUITemplate -pushTemplate DefaultTemplate;
  86.     waitCursor -state 1;
  87.     
  88.     string $parent = `columnLayout -adjustableColumn 1`;
  89.  
  90.     checkBoxGrp -label1 "Merge UVs Also" polySewEdgeMap;
  91.  
  92.     floatSliderGrp -label "Threshold" -min 0 -max 10 -fmx 10000000 polySewEdge;
  93.  
  94.     checkBoxGrp -label1 "World Space Coords" polySewEdgeWorldSpace;
  95.  
  96.     waitCursor -state 0;
  97.     setUITemplate -popTemplate;
  98.        
  99.     string $applyBtn = getOptionBoxApplyBtn();
  100.     button -edit -label "Sew"
  101.         -command ($callback + " " + $parent + " " + 1)
  102.         $applyBtn;
  103.     string $saveBtn = getOptionBoxSaveBtn();
  104.     button -edit 
  105.         -command ($callback + " " + $parent + " " + 0 + "; hideOptionBox")
  106.         $saveBtn;
  107.     string $resetBtn = getOptionBoxResetBtn();
  108.     button -edit 
  109.         -command ($setup + " " + $parent + " " + 1)
  110.         $resetBtn;
  111.              
  112.     setOptionBoxTitle("Merge Multiple Edges Options");
  113.  
  114.     setOptionBoxHelpTag( "MergeMultipleEdges" );
  115.  
  116.     eval (($setup + " " + $parent + " " + 0));      
  117.     showOptionBox();
  118. }
  119.  
  120. global proc string performPolySewEdge (int $option)
  121. {
  122.     string $cmd="";
  123.     string $sel[];
  124.     switch ($option) {
  125.     case 0:
  126.         setOptionVars(false);
  127.         float $fval = `optionVar -query polySewEdge`;
  128.         int $ivSM = `optionVar -query polySewEdgeMap`;
  129.         int $ivWS = `optionVar -query polySewEdgeWorldSpace`;
  130.         $cmd=("polySewEdge -t " + $fval + " -tx " + $ivSM + " -ws " + $ivWS);
  131.         polyPerformAction $cmd e 0;
  132.         break;
  133.     case 1: polySewEdgeOptions; break;
  134.     default:
  135.         setOptionVars(false);
  136.         float $fval = `optionVar -query polySewEdge`;
  137.         int $ivSM = `optionVar -query polySewEdgeMap`;
  138.         int $ivWS = `optionVar -query polySewEdgeWorldSpace`;
  139.         $cmd=("polySewEdge -t " + $fval + " -tx " + $ivSM +" -ws " + $ivWS);
  140.         $cmd = ("polyPerformAction \"" + $cmd + "\" e 0");
  141.     }
  142.     return $cmd;
  143. }
  144.